#ifndef SAVEGMSH_
#define SAVEGMSH_

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <cmath>

#include "DGMatrix.h"
#include "DGIntMatrix.h"
#include "mesh.h"
#include "functionSpace.h"
#include "ANN/ANN.h"

using namespace std;

typedef vector<DGMatrix>       SolContainer;
typedef vector<FunctionSpace*> FsContainer;

//------------------------------------------------------------------------------
class SaveOutputGmsh{

private:
 
  Mesh*        mesh;
  FsContainer* fs;
  
public:
  
  SaveOutputGmsh(Mesh*,FsContainer*);
  ~SaveOutputGmsh(){};

  void saveOutput(const SolContainer*,int step,double t,int nbVar,string);
  void saveOutput(const DGMatrix*,int step,double t,int nbVar,string);
  
};
#endif
